/*******************************************************************************
 * Copyright (c) 2000, 2018 IBM Corp. and others
 *
 * This program and the accompanying materials are made available under
 * the terms of the Eclipse Public License 2.0 which accompanies this
 * distribution and is available at https://www.eclipse.org/legal/epl-2.0/
 * or the Apache License, Version 2.0 which accompanies this distribution and
 * is available at https://www.apache.org/licenses/LICENSE-2.0.
 *
 * This Source Code may also be made available under the following
 * Secondary Licenses when the conditions for such availability set
 * forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
 * General Public License, version 2 with the GNU Classpath
 * Exception [1] and GNU General Public License, version 2 with the
 * OpenJDK Assembly Exception [2].
 *
 * [1] https://www.gnu.org/software/classpath/license.html
 * [2] http://openjdk.java.net/legal/assembly-exception.html
 *
 * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
 *******************************************************************************/

#ifndef J9_OPCODEPROPERTIES_INCL
#define J9_OPCODEPROPERTIES_INCL

#include "omr/compiler/il/ILOpCodeProperties.hpp"

// J9 specific opcode properties

   {
   /* .opcode               = */ TR::dfconst,
   /* .name                 = */ "dfconst",
   /* .properties1          = */ ILProp1::LoadConst,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddconst,
   /* .name                 = */ "ddconst",
   /* .properties1          = */ ILProp1::LoadConst,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deconst,
   /* .name                 = */ "deconst",
   /* .properties1          = */ ILProp1::LoadConst,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfload,
   /* .name                 = */ "dfload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddload,
   /* .name                 = */ "ddload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deload,
   /* .name                 = */ "deload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfloadi,
   /* .name                 = */ "dfloadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddloadi,
   /* .name                 = */ "ddloadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deloadi,
   /* .name                 = */ "deloadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfstore,
   /* .name                 = */ "dfstore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddstore,
   /* .name                 = */ "ddstore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::destore,
   /* .name                 = */ "destore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfstorei,
   /* .name                 = */ "dfstorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddstorei,
   /* .name                 = */ "ddstorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::destorei,
   /* .name                 = */ "destorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfreturn,
   /* .name                 = */ "dfreturn",
   /* .properties1          = */ ILProp1::Return | ILProp1::TreeTop,
   /* .properties2          = */ ILProp2::MayUseSystemStack,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddreturn,
   /* .name                 = */ "ddreturn",
   /* .properties1          = */ ILProp1::Return | ILProp1::TreeTop,
   /* .properties2          = */ ILProp2::MayUseSystemStack,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dereturn,
   /* .name                 = */ "dereturn",
   /* .properties1          = */ ILProp1::Return | ILProp1::TreeTop,
   /* .properties2          = */ ILProp2::MayUseSystemStack,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfcall,
   /* .name                 = */ "dfcall",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::CanRaiseException | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::Unspecified,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddcall,
   /* .name                 = */ "ddcall",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::CanRaiseException | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::Unspecified,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::decall,
   /* .name                 = */ "decall",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::CanRaiseException | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::Unspecified,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfcalli,
   /* .name                 = */ "dfcalli",
   /* .properties1          = */ ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::CanRaiseException | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::IndirectCallType,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddcalli,
   /* .name                 = */ "ddcalli",
   /* .properties1          = */ ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::CanRaiseException | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::IndirectCallType,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::decalli,
   /* .name                 = */ "decalli",
   /* .properties1          = */ ILProp1::Indirect | ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::CanRaiseException | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::IndirectCallType,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfadd,
   /* .name                 = */ "dfadd",
   /* .properties1          = */ ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::CanRaiseException | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfadd,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddadd,
   /* .name                 = */ "ddadd",
   /* .properties1          = */ ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddadd,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deadd,
   /* .name                 = */ "deadd",
   /* .properties1          = */ ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::deadd,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfsub,
   /* .name                 = */ "dfsub",
   /* .properties1          = */ ILProp1::Sub,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfsub,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddsub,
   /* .name                 = */ "ddsub",
   /* .properties1          = */ ILProp1::Sub,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddsub,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::desub,
   /* .name                 = */ "desub",
   /* .properties1          = */ ILProp1::Sub,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::desub,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfmul,
   /* .name                 = */ "dfmul",
   /* .properties1          = */ ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfmul,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddmul,
   /* .name                 = */ "ddmul",
   /* .properties1          = */ ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddmul,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::demul,
   /* .name                 = */ "demul",
   /* .properties1          = */ ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::demul,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfdiv,
   /* .name                 = */ "dfdiv",
   /* .properties1          = */ ILProp1::Div,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dddiv,
   /* .name                 = */ "dddiv",
   /* .properties1          = */ ILProp1::Div,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dediv,
   /* .name                 = */ "dediv",
   /* .properties1          = */ ILProp1::Div,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfrem,
   /* .name                 = */ "dfrem",
   /* .properties1          = */ ILProp1::Rem,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddrem,
   /* .name                 = */ "ddrem",
   /* .properties1          = */ ILProp1::Rem,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::derem,
   /* .name                 = */ "derem",
   /* .properties1          = */ ILProp1::Rem,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfneg,
   /* .name                 = */ "dfneg",
   /* .properties1          = */ ILProp1::Neg,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddneg,
   /* .name                 = */ "ddneg",
   /* .properties1          = */ ILProp1::Neg,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deneg,
   /* .name                 = */ "deneg",
   /* .properties1          = */ ILProp1::Neg,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfabs,
   /* .name                 = */ "dfabs",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::Abs,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddabs,
   /* .name                 = */ "ddabs",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::Abs,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deabs,
   /* .name                 = */ "deabs",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::Abs,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfshl,
   /* .name                 = */ "dfshl",
   /* .properties1          = */ ILProp1::LeftShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfshr,
   /* .name                 = */ "dfshr",
   /* .properties1          = */ ILProp1::RightShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddshl,
   /* .name                 = */ "ddshl",
   /* .properties1          = */ ILProp1::LeftShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddshr,
   /* .name                 = */ "ddshr",
   /* .properties1          = */ ILProp1::RightShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deshl,
   /* .name                 = */ "deshl",
   /* .properties1          = */ ILProp1::LeftShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deshr,
   /* .name                 = */ "deshr",
   /* .properties1          = */ ILProp1::RightShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfshrRounded,
   /* .name                 = */ "dfshrRounded",
   /* .properties1          = */ ILProp1::RightShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddshrRounded,
   /* .name                 = */ "ddshrRounded",
   /* .properties1          = */ ILProp1::RightShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deshrRounded,
   /* .name                 = */ "deshrRounded",
   /* .properties1          = */ ILProp1::RightShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfSetNegative,
   /* .name                 = */ "dfSetNegative",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddSetNegative,
   /* .name                 = */ "ddSetNegative",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deSetNegative,
   /* .name                 = */ "deSetNegative",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfModifyPrecision,
   /* .name                 = */ "dfModifyPrecision",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::ModifyPrecision,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddModifyPrecision,
   /* .name                 = */ "ddModifyPrecision",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::ModifyPrecision,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deModifyPrecision,
   /* .name                 = */ "deModifyPrecision",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::ModifyPrecision,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::i2df,
   /* .name                 = */ "i2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int32),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::iu2df,
   /* .name                 = */ "iu2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int32),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::l2df,
   /* .name                 = */ "l2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int64),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::lu2df,
   /* .name                 = */ "lu2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int64),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::f2df,
   /* .name                 = */ "f2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Float),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::d2df,
   /* .name                 = */ "d2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Double),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2df,
   /* .name                 = */ "dd2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2df,
   /* .name                 = */ "de2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::b2df,
   /* .name                 = */ "b2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int8),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::bu2df,
   /* .name                 = */ "bu2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int8),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::s2df,
   /* .name                 = */ "s2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int16),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::su2df,
   /* .name                 = */ "su2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int16),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2i,
   /* .name                 = */ "df2i",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2iu,
   /* .name                 = */ "df2iu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2l,
   /* .name                 = */ "df2l",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2lu,
   /* .name                 = */ "df2lu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2f,
   /* .name                 = */ "df2f",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Float,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2d,
   /* .name                 = */ "df2d",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Double,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },


   {
   /* .opcode               = */ TR::df2dd,
   /* .name                 = */ "df2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2de,
   /* .name                 = */ "df2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2b,
   /* .name                 = */ "df2b",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int8,
   /* .typeProperties       = */ ILTypeProp::Size_1 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2bu,
   /* .name                 = */ "df2bu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int8,
   /* .typeProperties       = */ ILTypeProp::Size_1 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2s,
   /* .name                 = */ "df2s",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int16,
   /* .typeProperties       = */ ILTypeProp::Size_2 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::df2c,
   /* .name                 = */ "df2c",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int16,
   /* .typeProperties       = */ ILTypeProp::Size_2 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::i2dd,
   /* .name                 = */ "i2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int32),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::iu2dd,
   /* .name                 = */ "iu2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int32),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::l2dd,
   /* .name                 = */ "l2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int64),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::lu2dd,
   /* .name                 = */ "lu2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int64),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::f2dd,
   /* .name                 = */ "f2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Float),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::d2dd,
   /* .name                 = */ "d2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Double),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2dd,
   /* .name                 = */ "de2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::b2dd,
   /* .name                 = */ "b2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int8),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::bu2dd,
   /* .name                 = */ "bu2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int8),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::s2dd,
   /* .name                 = */ "s2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int16),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::su2dd,
   /* .name                 = */ "c2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int16),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2i,
   /* .name                 = */ "dd2i",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2iu,
   /* .name                 = */ "dd2iu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2l,
   /* .name                 = */ "dd2l",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2lu,
   /* .name                 = */ "dd2lu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2f,
   /* .name                 = */ "dd2f",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Float,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2d,
   /* .name                 = */ "dd2d",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Double,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2de,
   /* .name                 = */ "dd2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2b,
   /* .name                 = */ "dd2b",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int8,
   /* .typeProperties       = */ ILTypeProp::Size_1 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2bu,
   /* .name                 = */ "dd2bu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int8,
   /* .typeProperties       = */ ILTypeProp::Size_1 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2s,
   /* .name                 = */ "dd2s",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int16,
   /* .typeProperties       = */ ILTypeProp::Size_2 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dd2c,
   /* .name                 = */ "dd2c",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int16,
   /* .typeProperties       = */ ILTypeProp::Size_2 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::i2de,
   /* .name                 = */ "i2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int32),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::iu2de,
   /* .name                 = */ "iu2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int32),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::l2de,
   /* .name                 = */ "l2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int64),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::lu2de,
   /* .name                 = */ "lu2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int64),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::f2de,
   /* .name                 = */ "f2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Float),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::d2de,
   /* .name                 = */ "d2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Double),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::b2de,
   /* .name                 = */ "b2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int8),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::bu2de,
   /* .name                 = */ "bu2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int8),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::s2de,
   /* .name                 = */ "s2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int16),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::su2de,
   /* .name                 = */ "c2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::Int16),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2i,
   /* .name                 = */ "de2i",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2iu,
   /* .name                 = */ "de2iu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2l,
   /* .name                 = */ "de2l",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2lu,
   /* .name                 = */ "de2lu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2f,
   /* .name                 = */ "de2f",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Float,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2d,
   /* .name                 = */ "de2d",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Double,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2b,
   /* .name                 = */ "de2b",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int8,
   /* .typeProperties       = */ ILTypeProp::Size_1 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2bu,
   /* .name                 = */ "de2bu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int8,
   /* .typeProperties       = */ ILTypeProp::Size_1 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2s,
   /* .name                 = */ "de2s",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int16,
   /* .typeProperties       = */ ILTypeProp::Size_2 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::de2c,
   /* .name                 = */ "de2c",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int16,
   /* .typeProperties       = */ ILTypeProp::Size_2 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmpeq,
   /* .name                 = */ "ifdfcmpeq",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmpeq,
   /* .reverseBranchOpCode  = */ TR::ifdfcmpneu,
   /* .booleanCompareOpCode = */ TR::dfcmpeq,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmpne,
   /* .name                 = */ "ifdfcmpne",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmpne,
   /* .reverseBranchOpCode  = */ TR::ifdfcmpequ,
   /* .booleanCompareOpCode = */ TR::dfcmpne,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmplt,
   /* .name                 = */ "ifdfcmplt",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmpgt,
   /* .reverseBranchOpCode  = */ TR::ifdfcmpgeu,
   /* .booleanCompareOpCode = */ TR::dfcmplt,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmpge,
   /* .name                 = */ "ifdfcmpge",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmple,
   /* .reverseBranchOpCode  = */ TR::ifdfcmpltu,
   /* .booleanCompareOpCode = */ TR::dfcmpge,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmpgt,
   /* .name                 = */ "ifdfcmpgt",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmplt,
   /* .reverseBranchOpCode  = */ TR::ifdfcmpleu,
   /* .booleanCompareOpCode = */ TR::dfcmpgt,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmple,
   /* .name                 = */ "ifdfcmple",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmpge,
   /* .reverseBranchOpCode  = */ TR::ifdfcmpgtu,
   /* .booleanCompareOpCode = */ TR::dfcmple,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmpequ,
   /* .name                 = */ "ifdfcmpequ",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmpequ,
   /* .reverseBranchOpCode  = */ TR::ifdfcmpne,
   /* .booleanCompareOpCode = */ TR::dfcmpequ,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmpneu,
   /* .name                 = */ "ifdfcmpneu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmpneu,
   /* .reverseBranchOpCode  = */ TR::ifdfcmpeq,
   /* .booleanCompareOpCode = */ TR::dfcmpneu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmpltu,
   /* .name                 = */ "ifdfcmpltu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmpgtu,
   /* .reverseBranchOpCode  = */ TR::ifdfcmpge,
   /* .booleanCompareOpCode = */ TR::dfcmpltu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmpgeu,
   /* .name                 = */ "ifdfcmpgeu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmpleu,
   /* .reverseBranchOpCode  = */ TR::ifdfcmplt,
   /* .booleanCompareOpCode = */ TR::dfcmpgeu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmpgtu,
   /* .name                 = */ "ifdfcmpgtu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmpltu,
   /* .reverseBranchOpCode  = */ TR::ifdfcmple,
   /* .booleanCompareOpCode = */ TR::dfcmpgtu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdfcmpleu,
   /* .name                 = */ "ifdfcmpleu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::ifdfcmpgeu,
   /* .reverseBranchOpCode  = */ TR::ifdfcmpgt,
   /* .booleanCompareOpCode = */ TR::dfcmpleu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfcmpeq,
   /* .name                 = */ "dfcmpeq",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmpeq,
   /* .reverseBranchOpCode  = */ TR::dfcmpneu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmpeq,
   },

   {
   /* .opcode               = */ TR::dfcmpne,
   /* .name                 = */ "dfcmpne",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmpne,
   /* .reverseBranchOpCode  = */ TR::dfcmpequ,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmpne,
   },

   {
   /* .opcode               = */ TR::dfcmplt,
   /* .name                 = */ "dfcmplt",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmpgt,
   /* .reverseBranchOpCode  = */ TR::dfcmpgeu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmplt,
   },

   {
   /* .opcode               = */ TR::dfcmpge,
   /* .name                 = */ "dfcmpge",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmple,
   /* .reverseBranchOpCode  = */ TR::dfcmpltu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmpge,
   },

   {
   /* .opcode               = */ TR::dfcmpgt,
   /* .name                 = */ "dfcmpgt",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmplt,
   /* .reverseBranchOpCode  = */ TR::dfcmpleu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmpgt,
   },

   {
   /* .opcode               = */ TR::dfcmple,
   /* .name                 = */ "dfcmple",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmpge,
   /* .reverseBranchOpCode  = */ TR::dfcmpgtu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmple,
   },

   {
   /* .opcode               = */ TR::dfcmpequ,
   /* .name                 = */ "dfcmpequ",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmpequ,
   /* .reverseBranchOpCode  = */ TR::dfcmpne,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmpequ,
   },

   {
   /* .opcode               = */ TR::dfcmpneu,
   /* .name                 = */ "dfcmpneu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmpneu,
   /* .reverseBranchOpCode  = */ TR::dfcmpeq,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmpneu,
   },

   {
   /* .opcode               = */ TR::dfcmpltu,
   /* .name                 = */ "dfcmpltu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmpgtu,
   /* .reverseBranchOpCode  = */ TR::dfcmpge,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmpltu,
   },

   {
   /* .opcode               = */ TR::dfcmpgeu,
   /* .name                 = */ "dfcmpgeu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmpleu,
   /* .reverseBranchOpCode  = */ TR::dfcmplt,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmpgeu,
   },

   {
   /* .opcode               = */ TR::dfcmpgtu,
   /* .name                 = */ "dfcmpgtu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmpltu,
   /* .reverseBranchOpCode  = */ TR::dfcmple,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmpgtu,
   },

   {
   /* .opcode               = */ TR::dfcmpleu,
   /* .name                 = */ "dfcmpleu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::dfcmpgeu,
   /* .reverseBranchOpCode  = */ TR::dfcmpgt,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdfcmpleu,
   },

   {
   /* .opcode               = */ TR::ifddcmpeq,
   /* .name                 = */ "ifddcmpeq",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmpeq,
   /* .reverseBranchOpCode  = */ TR::ifddcmpneu,
   /* .booleanCompareOpCode = */ TR::ddcmpeq,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmpne,
   /* .name                 = */ "ifddcmpne",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmpne,
   /* .reverseBranchOpCode  = */ TR::ifddcmpequ,
   /* .booleanCompareOpCode = */ TR::ddcmpne,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmplt,
   /* .name                 = */ "ifddcmplt",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmpgt,
   /* .reverseBranchOpCode  = */ TR::ifddcmpgeu,
   /* .booleanCompareOpCode = */ TR::ddcmplt,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmpge,
   /* .name                 = */ "ifddcmpge",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmple,
   /* .reverseBranchOpCode  = */ TR::ifddcmpltu,
   /* .booleanCompareOpCode = */ TR::ddcmpge,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmpgt,
   /* .name                 = */ "ifddcmpgt",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmplt,
   /* .reverseBranchOpCode  = */ TR::ifddcmpleu,
   /* .booleanCompareOpCode = */ TR::ddcmpgt,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmple,
   /* .name                 = */ "ifddcmple",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmpge,
   /* .reverseBranchOpCode  = */ TR::ifddcmpgtu,
   /* .booleanCompareOpCode = */ TR::ddcmple,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmpequ,
   /* .name                 = */ "ifddcmpequ",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmpequ,
   /* .reverseBranchOpCode  = */ TR::ifddcmpne,
   /* .booleanCompareOpCode = */ TR::ddcmpequ,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmpneu,
   /* .name                 = */ "ifddcmpneu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmpneu,
   /* .reverseBranchOpCode  = */ TR::ifddcmpeq,
   /* .booleanCompareOpCode = */ TR::ddcmpneu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmpltu,
   /* .name                 = */ "ifddcmpltu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmpgtu,
   /* .reverseBranchOpCode  = */ TR::ifddcmpge,
   /* .booleanCompareOpCode = */ TR::ddcmpltu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmpgeu,
   /* .name                 = */ "ifddcmpgeu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmpleu,
   /* .reverseBranchOpCode  = */ TR::ifddcmplt,
   /* .booleanCompareOpCode = */ TR::ddcmpgeu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmpgtu,
   /* .name                 = */ "ifddcmpgtu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmpltu,
   /* .reverseBranchOpCode  = */ TR::ifddcmple,
   /* .booleanCompareOpCode = */ TR::ddcmpgtu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifddcmpleu,
   /* .name                 = */ "ifddcmpleu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ifddcmpgeu,
   /* .reverseBranchOpCode  = */ TR::ifddcmpgt,
   /* .booleanCompareOpCode = */ TR::ddcmpleu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddcmpeq,
   /* .name                 = */ "ddcmpeq",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmpeq,
   /* .reverseBranchOpCode  = */ TR::ddcmpneu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmpeq,
   },

   {
   /* .opcode               = */ TR::ddcmpne,
   /* .name                 = */ "ddcmpne",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmpne,
   /* .reverseBranchOpCode  = */ TR::ddcmpequ,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmpne,
   },

   {
   /* .opcode               = */ TR::ddcmplt,
   /* .name                 = */ "ddcmplt",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmpgt,
   /* .reverseBranchOpCode  = */ TR::ddcmpgeu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmplt,
   },

   {
   /* .opcode               = */ TR::ddcmpge,
   /* .name                 = */ "ddcmpge",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmple,
   /* .reverseBranchOpCode  = */ TR::ddcmpltu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmpge,
   },

   {
   /* .opcode               = */ TR::ddcmpgt,
   /* .name                 = */ "ddcmpgt",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmplt,
   /* .reverseBranchOpCode  = */ TR::ddcmpleu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmpgt,
   },

   {
   /* .opcode               = */ TR::ddcmple,
   /* .name                 = */ "ddcmple",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmpge,
   /* .reverseBranchOpCode  = */ TR::ddcmpgtu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmple,
   },

   {
   /* .opcode               = */ TR::ddcmpequ,
   /* .name                 = */ "ddcmpequ",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmpequ,
   /* .reverseBranchOpCode  = */ TR::ddcmpne,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmpequ,
   },

   {
   /* .opcode               = */ TR::ddcmpneu,
   /* .name                 = */ "ddcmpneu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmpneu,
   /* .reverseBranchOpCode  = */ TR::ddcmpeq,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmpneu,
   },

   {
   /* .opcode               = */ TR::ddcmpltu,
   /* .name                 = */ "ddcmpltu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmpgtu,
   /* .reverseBranchOpCode  = */ TR::ddcmpge,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmpltu,
   },

   {
   /* .opcode               = */ TR::ddcmpgeu,
   /* .name                 = */ "ddcmpgeu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmpleu,
   /* .reverseBranchOpCode  = */ TR::ddcmplt,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmpgeu,
   },

   {
   /* .opcode               = */ TR::ddcmpgtu,
   /* .name                 = */ "ddcmpgtu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmpltu,
   /* .reverseBranchOpCode  = */ TR::ddcmple,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmpgtu,
   },

   {
   /* .opcode               = */ TR::ddcmpleu,
   /* .name                 = */ "ddcmpleu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::ddcmpgeu,
   /* .reverseBranchOpCode  = */ TR::ddcmpgt,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifddcmpleu,
   },

   {
   /* .opcode               = */ TR::ifdecmpeq,
   /* .name                 = */ "ifdecmpeq",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmpeq,
   /* .reverseBranchOpCode  = */ TR::ifdecmpneu,
   /* .booleanCompareOpCode = */ TR::decmpeq,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmpne,
   /* .name                 = */ "ifdecmpne",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmpne,
   /* .reverseBranchOpCode  = */ TR::ifdecmpequ,
   /* .booleanCompareOpCode = */ TR::decmpne,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmplt,
   /* .name                 = */ "ifdecmplt",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmpgt,
   /* .reverseBranchOpCode  = */ TR::ifdecmpgeu,
   /* .booleanCompareOpCode = */ TR::decmplt,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmpge,
   /* .name                 = */ "ifdecmpge",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmple,
   /* .reverseBranchOpCode  = */ TR::ifdecmpltu,
   /* .booleanCompareOpCode = */ TR::decmpge,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmpgt,
   /* .name                 = */ "ifdecmpgt",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmplt,
   /* .reverseBranchOpCode  = */ TR::ifdecmpleu,
   /* .booleanCompareOpCode = */ TR::decmpgt,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmple,
   /* .name                 = */ "ifdecmple",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmpge,
   /* .reverseBranchOpCode  = */ TR::ifdecmpgtu,
   /* .booleanCompareOpCode = */ TR::decmple,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmpequ,
   /* .name                 = */ "ifdecmpequ",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmpequ,
   /* .reverseBranchOpCode  = */ TR::ifdecmpne,
   /* .booleanCompareOpCode = */ TR::decmpequ,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmpneu,
   /* .name                 = */ "ifdecmpneu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmpneu,
   /* .reverseBranchOpCode  = */ TR::ifdecmpeq,
   /* .booleanCompareOpCode = */ TR::decmpneu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmpltu,
   /* .name                 = */ "ifdecmpltu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmpgtu,
   /* .reverseBranchOpCode  = */ TR::ifdecmpge,
   /* .booleanCompareOpCode = */ TR::decmpltu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmpgeu,
   /* .name                 = */ "ifdecmpgeu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmpleu,
   /* .reverseBranchOpCode  = */ TR::ifdecmplt,
   /* .booleanCompareOpCode = */ TR::decmpgeu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmpgtu,
   /* .name                 = */ "ifdecmpgtu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmpltu,
   /* .reverseBranchOpCode  = */ TR::ifdecmple,
   /* .booleanCompareOpCode = */ TR::decmpgtu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ifdecmpleu,
   /* .name                 = */ "ifdecmpleu",
   /* .properties1          = */ ILProp1::BooleanCompare | ILProp1::Branch | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::ifdecmpgeu,
   /* .reverseBranchOpCode  = */ TR::ifdecmpgt,
   /* .booleanCompareOpCode = */ TR::decmpleu,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::decmpeq,
   /* .name                 = */ "decmpeq",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmpeq,
   /* .reverseBranchOpCode  = */ TR::decmpneu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmpeq,
   },

   {
   /* .opcode               = */ TR::decmpne,
   /* .name                 = */ "decmpne",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmpne,
   /* .reverseBranchOpCode  = */ TR::decmpequ,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmpne,
   },

   {
   /* .opcode               = */ TR::decmplt,
   /* .name                 = */ "decmplt",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmpgt,
   /* .reverseBranchOpCode  = */ TR::decmpgeu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmplt,
   },

   {
   /* .opcode               = */ TR::decmpge,
   /* .name                 = */ "decmpge",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmple,
   /* .reverseBranchOpCode  = */ TR::decmpltu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmpge,
   },

   {
   /* .opcode               = */ TR::decmpgt,
   /* .name                 = */ "decmpgt",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmplt,
   /* .reverseBranchOpCode  = */ TR::decmpleu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmpgt,
   },

   {
   /* .opcode               = */ TR::decmple,
   /* .name                 = */ "decmple",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmpge,
   /* .reverseBranchOpCode  = */ TR::decmpgtu,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmple,
   },

   {
   /* .opcode               = */ TR::decmpequ,
   /* .name                 = */ "decmpequ",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmpequ,
   /* .reverseBranchOpCode  = */ TR::decmpne,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmpequ,
   },

   {
   /* .opcode               = */ TR::decmpneu,
   /* .name                 = */ "decmpneu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmpneu,
   /* .reverseBranchOpCode  = */ TR::decmpeq,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmpneu,
   },

   {
   /* .opcode               = */ TR::decmpltu,
   /* .name                 = */ "decmpltu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmpgtu,
   /* .reverseBranchOpCode  = */ TR::decmpge,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmpltu,
   },

   {
   /* .opcode               = */ TR::decmpgeu,
   /* .name                 = */ "decmpgeu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmpleu,
   /* .reverseBranchOpCode  = */ TR::decmplt,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmpgeu,
   },

   {
   /* .opcode               = */ TR::decmpgtu,
   /* .name                 = */ "decmpgtu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmpltu,
   /* .reverseBranchOpCode  = */ TR::decmple,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmpgtu,
   },

   {
   /* .opcode               = */ TR::decmpleu,
   /* .name                 = */ "decmpleu",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual | ILProp3::CompareTrueIfUnordered,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::decmpgeu,
   /* .reverseBranchOpCode  = */ TR::decmpgt,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::ifdecmpleu,
   },

   {
   /* .opcode               = */ TR::dfRegLoad,
   /* .name                 = */ "dfRegLoad",
   /* .properties1          = */ ILProp1::LoadReg,
   /* .properties2          = */ 0,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddRegLoad,
   /* .name                 = */ "ddRegLoad",
   /* .properties1          = */ ILProp1::LoadReg,
   /* .properties2          = */ 0,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deRegLoad,
   /* .name                 = */ "deRegLoad",
   /* .properties1          = */ ILProp1::LoadReg,
   /* .properties2          = */ 0,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfRegStore,
   /* .name                 = */ "dfRegStore",
   /* .properties1          = */ ILProp1::StoreReg | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddRegStore,
   /* .name                 = */ "ddRegStore",
   /* .properties1          = */ ILProp1::StoreReg | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deRegStore,
   /* .name                 = */ "deRegStore",
   /* .properties1          = */ ILProp1::StoreReg | ILProp1::TreeTop,
   /* .properties2          = */ 0,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfternary,
   /* .name                 = */ "dfternary",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Ternary,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ THREE_CHILD(TR::Int32, TR::DecimalFloat, TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddternary,
   /* .name                 = */ "ddternary",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Ternary,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ THREE_CHILD(TR::Int32, TR::DecimalDouble, TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deternary,
   /* .name                 = */ "deternary",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Ternary,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ THREE_CHILD(TR::Int32, TR::DecimalLongDouble, TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfexp,
   /* .name                 = */ "dfexp",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddexp,
   /* .name                 = */ "ddexp",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deexp,
   /* .name                 = */ "deexp",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfnint,
   /* .name                 = */ "dfnint",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddnint,
   /* .name                 = */ "ddnint",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::denint,
   /* .name                 = */ "denint",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfsqrt,
   /* .name                 = */ "dfsqrt",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddsqrt,
   /* .name                 = */ "ddsqrt",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::desqrt,
   /* .name                 = */ "desqrt",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfcos,
   /* .name                 = */ "dfcos",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddcos,
   /* .name                 = */ "ddcos",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::decos,
   /* .name                 = */ "decos",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfsin,
   /* .name                 = */ "dfsin",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddsin,
   /* .name                 = */ "ddsin",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::desin,
   /* .name                 = */ "desin",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dftan,
   /* .name                 = */ "dftan",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddtan,
   /* .name                 = */ "ddtan",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::detan,
   /* .name                 = */ "detan",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfcosh,
   /* .name                 = */ "dfcosh",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddcosh,
   /* .name                 = */ "ddcosh",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::decosh,
   /* .name                 = */ "decosh",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfsinh,
   /* .name                 = */ "dfsinh",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddsinh,
   /* .name                 = */ "ddsinh",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::desinh,
   /* .name                 = */ "desinh",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dftanh,
   /* .name                 = */ "dftanh",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddtanh,
   /* .name                 = */ "ddtanh",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::detanh,
   /* .name                 = */ "detanh",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfacos,
   /* .name                 = */ "dfacos",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddacos,
   /* .name                 = */ "ddacos",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deacos,
   /* .name                 = */ "deacos",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfasin,
   /* .name                 = */ "dfasin",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddasin,
   /* .name                 = */ "ddasin",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deasin,
   /* .name                 = */ "deasin",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfatan,
   /* .name                 = */ "dfatan",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddatan,
   /* .name                 = */ "ddatan",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deatan,
   /* .name                 = */ "deatan",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfatan2,
   /* .name                 = */ "dfatan2",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddatan2,
   /* .name                 = */ "ddatan2",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deatan2,
   /* .name                 = */ "deatan2",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dflog,
   /* .name                 = */ "dflog",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddlog,
   /* .name                 = */ "ddlog",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::delog,
   /* .name                 = */ "delog",
   /* .properties1          = */ ILProp1::Call | ILProp1::HasSymbolRef,
   /* .properties2          = */ 0,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::LikeDef,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dffloor,
   /* .name                 = */ "dffloor",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddfloor,
   /* .name                 = */ "ddfloor",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::defloor,
   /* .name                 = */ "defloor",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfceil,
   /* .name                 = */ "dfceil",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddceil,
   /* .name                 = */ "ddceil",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deceil,
   /* .name                 = */ "deceil",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfmax,
   /* .name                 = */ "dfmax",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Max,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddmax,
   /* .name                 = */ "ddmax",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Max,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::demax,
   /* .name                 = */ "demax",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Max,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfmin,
   /* .name                 = */ "dfmin",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Min,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddmin,
   /* .name                 = */ "ddmin",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Min,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::demin,
   /* .name                 = */ "demin",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::Min,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::dfInsExp,
   /* .name                 = */ "dfInsExp",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddInsExp,
   /* .name                 = */ "ddInsExp",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::deInsExp,
   /* .name                 = */ "deInsExp",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ddclean,
   /* .name                 = */ "ddclean",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::Unspecified,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::declean,
   /* .name                 = */ "declean",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ILChildProp::Unspecified,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdload,
   /* .name                 = */ "zdload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdloadi,
   /* .name                 = */ "zdloadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdstore,
   /* .name                 = */ "zdstore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHavePaddingAddress | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdstorei,
   /* .name                 = */ "zdstorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHavePaddingAddress | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2zd,
   /* .name                 = */ "pd2zd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint | ILProp4::CanHavePaddingAddress,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zd2pd,
   /* .name                 = */ "zd2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdsleLoad,
   /* .name                 = */ "zdsleLoad",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingEmbedded,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingEmbedded,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdslsLoad,
   /* .name                 = */ "zdslsLoad",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingSeparate,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdstsLoad,
   /* .name                 = */ "zdstsLoad",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::ZonedDecimalSignTrailingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignTrailingSeparate,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdsleLoadi,
   /* .name                 = */ "zdsleLoadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingEmbedded,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingEmbedded,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdslsLoadi,
   /* .name                 = */ "zdslsLoadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingSeparate,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdstsLoadi,
   /* .name                 = */ "zdstsLoadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::ZonedDecimalSignTrailingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignTrailingSeparate,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdsleStore,
   /* .name                 = */ "zdsleStore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHavePaddingAddress | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingEmbedded,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingEmbedded,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimalSignLeadingEmbedded),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdslsStore,
   /* .name                 = */ "zdslsStore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingSeparate,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimalSignLeadingSeparate),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdstsStore,
   /* .name                 = */ "zdstsStore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::ZonedDecimalSignTrailingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignTrailingSeparate,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimalSignTrailingSeparate),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdsleStorei,
   /* .name                 = */ "zdsleStorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHavePaddingAddress | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingEmbedded,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingEmbedded,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::ZonedDecimalSignLeadingEmbedded),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdslsStorei,
   /* .name                 = */ "zdslsStorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingSeparate,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::ZonedDecimalSignLeadingSeparate),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdstsStorei,
   /* .name                 = */ "zdstsStorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::ZonedDecimalSignTrailingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignTrailingSeparate,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::ZonedDecimalSignTrailingSeparate),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zd2zdsle,
   /* .name                 = */ "zd2zdsle",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingEmbedded,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingEmbedded,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zd2zdsls,
   /* .name                 = */ "zd2zdsls",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingSeparate,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zd2zdsts,
   /* .name                 = */ "zd2zdsts",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimalSignTrailingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignTrailingSeparate,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdsle2pd,
   /* .name                 = */ "zdsle2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimalSignLeadingEmbedded),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdsls2pd,
   /* .name                 = */ "zdsls2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimalSignLeadingSeparate),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdsts2pd,
   /* .name                 = */ "zdsts2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimalSignTrailingSeparate),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdsle2zd,
   /* .name                 = */ "zdsle2zd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimalSignLeadingEmbedded),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdsls2zd,
   /* .name                 = */ "zdsls2zd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimalSignLeadingSeparate),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::zdsts2zd,
   /* .name                 = */ "zdsts2zd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimalSignTrailingSeparate),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2zdsls,
   /* .name                 = */ "pd2zdsls",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignLeadingSeparate,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2zdslsSetSign,
   /* .name                 = */ "pd2zdslsSetSign",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::SetSign | ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimalSignLeadingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2zdsts,
   /* .name                 = */ "pd2zdsts",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimalSignTrailingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2zdstsSetSign,
   /* .name                 = */ "pd2zdstsSetSign",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::SetSign | ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimalSignTrailingSeparate,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimalSignTrailingSeparate,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from zoned decimal to 32-bit DFP.
    */
   {
   /* .opcode               = */ TR::zd2df,
   /* .name                 = */ "zd2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 32-bit DFP to zoned decimal.
    */
   {
   /* .opcode               = */ TR::df2zd,
   /* .name                 = */ "df2zd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from zoned decimal to 64-bit DFP.
    */
   {
   /* .opcode               = */ TR::zd2dd,
   /* .name                 = */ "zd2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 64-bit DFP to zoned decimal.
    */
   {
   /* .opcode               = */ TR::dd2zd,
   /* .name                 = */ "dd2zd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from zoned decimal to 128-bit DFP.
    */
   {
   /* .opcode               = */ TR::zd2de,
   /* .name                 = */ "zd2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 128-bit DFP to zoned decimal.
    */
   {
   /* .opcode               = */ TR::de2zd,
   /* .name                 = */ "de2zd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from zoned decimal to 32-bit DFP, forcing a positive sign on the DFP value
    *
    * On z/OS, the zoned to DFP conversion op can treat the zoned value as unsigned, forcing a
    * positive sign on the result for free.
    */
   {
   /* .opcode               = */ TR::zd2dfAbs,
   /* .name                 = */ "zd2dfAbs",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from zoned decimal to 64-bit DFP, forcing a positive sign on the DFP value
    *
    * On z/OS, the zoned to DFP conversion op can treat the zoned value as unsigned, forcing a
    * positive sign on the result for free.
    */
   {
   /* .opcode               = */ TR::zd2ddAbs,
   /* .name                 = */ "zd2ddAbs",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from zoned decimal to 128-bit DFP, forcing a positive sign on the DFP value
    *
    * On z/OS, the zoned to DFP conversion op can treat the zoned value as unsigned, forcing a
    * positive sign on the result for free.
    */
   {
   /* .opcode               = */ TR::zd2deAbs,
   /* .name                 = */ "zd2deAbs",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::ZonedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 32-bit DFP to zoned decimal, setting the zoned decimal sign code
    *
    * The sign code is specified on the node itself, using setSetSign. Using this op produces
    * faster code than setting the sign separately from the conversion, and unlike a plain
    * DFP setsign (eg. ddAbs or ddSetNegative), this op can also set the sign to 0xf (unsigned)
    * and does on the hardware conversion op on z/OS for free (the op can specify that either
    * the preferred positive or negative signs will be used, eg. 0xc or 0xd, or that there will
    * be no sign, eg. 0xf).
    */
   {
   /* .opcode               = */ TR::df2zdSetSign,
   /* .name                 = */ "df2zdSetSign",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::SetSignOnNode | ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 64-bit DFP to zoned decimal, setting the zoned decimal sign code
    *
    * The sign code is specified on the node itself, using setSetSign. Using this op produces
    * faster code than setting the sign separately from the conversion, and unlike a plain
    * DFP setsign (eg. ddAbs or ddSetNegative), this op can also set the sign to 0xf (unsigned)
    * and does on the hardware conversion op on z/OS for free (the op can specify that either
    * the preferred positive or negative signs will be used, eg. 0xc or 0xd, or that there will
    * be no sign, eg. 0xf).
    */
   {
   /* .opcode               = */ TR::dd2zdSetSign,
   /* .name                 = */ "dd2zdSetSign",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::SetSignOnNode | ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 128-bit DFP to zoned decimal, setting the zoned decimal sign code
    *
    * The sign code is specified on the node itself, using setSetSign. Using this op produces
    * faster code than setting the sign separately from the conversion, and unlike a plain
    * DFP setsign (eg. ddAbs or ddSetNegative), this op can also set the sign to 0xf (unsigned)
    * and does on the hardware conversion op on z/OS for free (the op can specify that either
    * the preferred positive or negative signs will be used, eg. 0xc or 0xd, or that there will
    * be no sign, eg. 0xf).
    */
   {
   /* .opcode               = */ TR::de2zdSetSign,
   /* .name                 = */ "de2zdSetSign",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::SetSignOnNode | ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 32-bit DFP to zoned decimal, cleaning the sign code
    *
    * This op converts from DFP to zoned and also cleans the sign code, ensuring
    * that there will never be a negative zero zoned value.
    */
   {
   /* .opcode               = */ TR::df2zdClean,
   /* .name                 = */ "df2zdClean",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 64-bit DFP to zoned decimal, cleaning the sign code
    *
    * This op converts from DFP to zoned and also cleans the sign code, ensuring
    * that there will never be a negative zero zoned value.
    */
   {
   /* .opcode               = */ TR::dd2zdClean,
   /* .name                 = */ "dd2zdClean",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 128-bit DFP to zoned decimal, cleaning the sign code
    *
    * This op converts from DFP to zoned and also cleans the sign code, ensuring
    * that there will never be a negative zero zoned value.
    */
   {
   /* .opcode               = */ TR::de2zdClean,
   /* .name                 = */ "de2zdClean",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::ZonedDecimal,
   /* .typeProperties       = */ ILTypeProp::ZonedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udLoad,
   /* .name                 = */ "udLoad",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::UnicodeDecimal,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimal,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udslLoad,
   /* .name                 = */ "udslLoad",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::UnicodeDecimalSignLeading,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimalSignLeading,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udstLoad,
   /* .name                 = */ "udstLoad",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::UnicodeDecimalSignTrailing,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimalSignTrailing,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udLoadi,
   /* .name                 = */ "udLoadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::UnicodeDecimal,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udslLoadi,
   /* .name                 = */ "udslLoadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::UnicodeDecimalSignLeading,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimalSignLeading,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udstLoadi,
   /* .name                 = */ "udstLoadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::UnicodeDecimalSignTrailing,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimalSignTrailing,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udStore,
   /* .name                 = */ "udStore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHavePaddingAddress | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::UnicodeDecimal,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::UnicodeDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udslStore,
   /* .name                 = */ "udslStore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::UnicodeDecimalSignLeading,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimalSignLeading,
   /* .childProperties      = */ ONE_CHILD(TR::UnicodeDecimalSignLeading),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udstStore,
   /* .name                 = */ "udstStore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::UnicodeDecimalSignTrailing,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimalSignTrailing,
   /* .childProperties      = */ ONE_CHILD(TR::UnicodeDecimalSignTrailing),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udStorei,
   /* .name                 = */ "udStorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHavePaddingAddress | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::UnicodeDecimal,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimal,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::UnicodeDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udslStorei,
   /* .name                 = */ "udslStorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::UnicodeDecimalSignLeading,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimalSignLeading,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::UnicodeDecimalSignLeading),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udstStorei,
   /* .name                 = */ "udstStorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::UnicodeDecimalSignTrailing,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimalSignTrailing,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::UnicodeDecimalSignTrailing),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2ud,
   /* .name                 = */ "pd2ud",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::UnicodeDecimal,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2udsl,
   /* .name                 = */ "pd2udsl",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::UnicodeDecimalSignLeading,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimalSignLeading,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2udst,
   /* .name                 = */ "pd2udst",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::UnicodeDecimalSignTrailing,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimalSignTrailing,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udsl2ud,
   /* .name                 = */ "udsl2ud",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::UnicodeDecimal,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::UnicodeDecimalSignLeading),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udst2ud,
   /* .name                 = */ "udst2ud",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::UnicodeDecimal,
   /* .typeProperties       = */ ILTypeProp::UnicodeDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::UnicodeDecimalSignTrailing),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ud2pd,
   /* .name                 = */ "ud2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::UnicodeDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udsl2pd,
   /* .name                 = */ "udsl2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::UnicodeDecimalSignLeading),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::udst2pd,
   /* .name                 = */ "udst2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::UnicodeDecimalSignTrailing),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdload,
   /* .name                 = */ "pdload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdloadi,
   /* .name                 = */ "pdloadi",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::Address),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdstore,
   /* .name                 = */ "pdstore",
   /* .properties1          = */ ILProp1::Store | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdstorei,
   /* .name                 = */ "pdstorei",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeDef,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanUseStoreAsAnAccumulator,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_CHILD(TR::Address, TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdadd,
   /* .name                 = */ "pdadd",
   /* .properties1          = */ ILProp1::Commutative | ILProp1::Associative | ILProp1::Add,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::pdadd,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdsub,
   /* .name                 = */ "pdsub",
   /* .properties1          = */ ILProp1::Sub,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdmul,
   /* .name                 = */ "pdmul",
   /* .properties1          = */ ILProp1::Commutative | ILProp1::Associative | ILProp1::Mul,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::pdmul,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pddiv,
   /* .name                 = */ "pddiv",
   /* .properties1          = */ ILProp1::Div,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdrem,
   /* .name                 = */ "pdrem",
   /* .properties1          = */ ILProp1::Rem,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE | ILProp2::MayUseSystemStack,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdneg,
   /* .name                 = */ "pdneg",
   /* .properties1          = */ ILProp1::Neg,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdabs,
   /* .name                 = */ "pdabs",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::Abs,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdshr,
   /* .name                 = */ "pdshr",
   /* .properties1          = */ ILProp1::RightShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdshl,
   /* .name                 = */ "pdshl",
   /* .properties1          = */ ILProp1::LeftShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdshrSetSign,
   /* .name                 = */ "pdshrSetSign",
   /* .properties1          = */ ILProp1::RightShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::SetSign | ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdshlSetSign,
   /* .name                 = */ "pdshlSetSign",
   /* .properties1          = */ ILProp1::LeftShift,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::SetSign | ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdshlOverflow,
   /* .name                 = */ "pdshlOverflow",
   /* .properties1          = */ ILProp1::LeftShift,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeUse,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdchk,
   /* .name                 = */ "pdchk",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2i,
   /* .name                 = */ "pd2i",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2iOverflow,
   /* .name                 = */ "pd2iOverflow",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2iu,
   /* .name                 = */ "pd2iu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::i2pd,
   /* .name                 = */ "i2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::Int32),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::iu2pd,
   /* .name                 = */ "iu2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::Int32),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2l,
   /* .name                 = */ "pd2l",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2lOverflow,
   /* .name                 = */ "pd2lOverflow",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2lu,
   /* .name                 = */ "pd2lu",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ONE_CHILD(TR::Int64),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::l2pd,
   /* .name                 = */ "l2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::Int64),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::lu2pd,
   /* .name                 = */ "lu2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::Int64),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2f,
   /* .name                 = */ "pd2f",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::Float,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pd2d,
   /* .name                 = */ "pd2d",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::Double,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::f2pd,
   /* .name                 = */ "f2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::Float),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::d2pd,
   /* .name                 = */ "d2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::Double),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdcmpeq,
   /* .name                 = */ "pdcmpeq",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::pdcmpeq,
   /* .reverseBranchOpCode  = */ TR::pdcmpne,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdcmpne,
   /* .name                 = */ "pdcmpne",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::pdcmpne,
   /* .reverseBranchOpCode  = */ TR::pdcmpeq,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdcmplt,
   /* .name                 = */ "pdcmplt",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::pdcmpgt,
   /* .reverseBranchOpCode  = */ TR::pdcmpge,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdcmpge,
   /* .name                 = */ "pdcmpge",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::pdcmple,
   /* .reverseBranchOpCode  = */ TR::pdcmplt,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdcmpgt,
   /* .name                 = */ "pdcmpgt",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfGreater,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::pdcmplt,
   /* .reverseBranchOpCode  = */ TR::pdcmple,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdcmple,
   /* .name                 = */ "pdcmple",
   /* .properties1          = */ ILProp1::BooleanCompare,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::CompareTrueIfLess | ILProp3::CompareTrueIfEqual,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ TWO_SAME_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::pdcmpge,
   /* .reverseBranchOpCode  = */ TR::pdcmpgt,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdclean,
   /* .name                 = */ "pdclean",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdclear,
   /* .name                 = */ "pdclear",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::SkipDynamicLitPoolOnInts,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdclearSetSign,
   /* .name                 = */ "pdclearSetSign",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ ILProp3::SkipDynamicLitPoolOnInts,
   /* .properties4          = */ ILProp4::SetSignOnNode | ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdSetSign,
   /* .name                 = */ "pdSetSign",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::SetSign | ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::pdModifyPrecision,
   /* .name                 = */ "pdModifyPrecision",
   /* .properties1          = */ 0,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::ModifyPrecision | ILProp4::BinaryCodedDecimalOp | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::countDigits,
   /* .name                 = */ "countDigits",
   /* .properties1          = */ 0,
   /* .properties2          = */ 0,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },


   /*!
    * \brief convert from packed decimal to 32-bit DFP
    */
   {
   /* .opcode               = */ TR::pd2df,
   /* .name                 = */ "pd2df",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from packed decimal to 32-bit DFP, forcing a positive sign on the DFP value
    *
    * On z/OS, the packed to DFP conversion op can ignore the packed sign value, forcing a
    * positive sign on the result for free.
    */
   {
   /* .opcode               = */ TR::pd2dfAbs,
   /* .name                 = */ "pd2dfAbs",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalFloat,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 32-bit DFP to packed decimal
    */
   {
   /* .opcode               = */ TR::df2pd,
   /* .name                 = */ "df2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 32-bit DFP to packed decimal, setting the packed decimal sign code
    *
    * The sign code is specified on the node itself, using setSetSign. Using this op produces
    * faster code than setting the sign separately from the conversion, and unlike a plain
    * DFP setsign (eg. ddAbs or ddSetNegative), this op can also set the sign to 0xf (unsigned)
    * and does so in one IL instruction. Keeping the setsign op separate from the conversion op
    * makes it less obvious what's going on, especially for a setsign of 0xf (where the sign
    * can be set for free as part of the conversion, as long as the DFP value is positive).
    */
   {
   /* .opcode               = */ TR::df2pdSetSign,
   /* .name                 = */ "df2pdSetSign",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::SetSignOnNode | ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 32-bit DFP to packed decimal, cleaning the sign code
    *
    * This op converts from DFP to packed and also cleans the sign code, ensuring
    * that there will never be a negative zero packed value.
    */
   {
   /* .opcode               = */ TR::df2pdClean,
   /* .name                 = */ "df2pdClean",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalFloat),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from packed decimal to 64-bit DFP
    */
   {
   /* .opcode               = */ TR::pd2dd,
   /* .name                 = */ "pd2dd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from packed decimal to 64-bit DFP, forcing a positive sign on the DFP value
    *
    * On z/OS, the packed to DFP conversion op can ignore the packed sign value, forcing a
    * positive sign on the result for free.
    */
   {
   /* .opcode               = */ TR::pd2ddAbs,
   /* .name                 = */ "pd2ddAbs",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalDouble,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 64-bit DFP to packed decimal
    */
   {
   /* .opcode               = */ TR::dd2pd,
   /* .name                 = */ "dd2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 64-bit DFP to packed decimal, setting the packed decimal sign code
    *
    * The sign code is specified on the node itself, using setSetSign. Using this op produces
    * faster code than setting the sign separately from the conversion, and unlike a plain
    * DFP setsign (eg. ddAbs or ddSetNegative), this op can also set the sign to 0xf (unsigned)
    * and does so in one IL instruction. Keeping the setsign op separate from the conversion op
    * makes it less obvious what's going on, especially for a setsign of 0xf (where the sign
    * can be set for free as part of the conversion, as long as the DFP value is positive).
    */
   {
   /* .opcode               = */ TR::dd2pdSetSign,
   /* .name                 = */ "dd2pdSetSign",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::SetSignOnNode | ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 64-bit DFP to packed decimal, cleaning the sign code
    *
    * This op converts from DFP to packed and also cleans the sign code, ensuring
    * that there will never be a negative zero packed value.
    */
   {
   /* .opcode               = */ TR::dd2pdClean,
   /* .name                 = */ "dd2pdClean",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from packed decimal to 128-bit DFP
    */
   {
   /* .opcode               = */ TR::pd2de,
   /* .name                 = */ "pd2de",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from packed decimal to 128-bit DFP, forcing a positive sign on the DFP value
    *
    * On z/OS, the packed to DFP conversion op can ignore the packed sign value, forcing a
    * positive sign on the result for free.
    */
   {
   /* .opcode               = */ TR::pd2deAbs,
   /* .name                 = */ "pd2deAbs",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction,
   /* .dataType             = */ TR::DecimalLongDouble,
   /* .typeProperties       = */ ILTypeProp::Size_16 | ILTypeProp::Floating_Point | ILTypeProp::DFP,
   /* .childProperties      = */ ONE_CHILD(TR::PackedDecimal),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 128-bit DFP to packed decimal
    */
   {
   /* .opcode               = */ TR::de2pd,
   /* .name                 = */ "de2pd",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 128-bit DFP to packed decimal, setting the packed decimal sign code
    *
    * The sign code is specified on the node itself, using setSetSign. Using this op produces
    * faster code than setting the sign separately from the conversion, and unlike a plain
    * DFP setsign (eg. ddAbs or ddSetNegative), this op can also set the sign to 0xf (unsigned)
    * and does so in one IL instruction. Keeping the setsign op separate from the conversion op
    * makes it less obvious what's going on, especially for a setsign of 0xf (where the sign
    * can be set for free as part of the conversion, as long as the DFP value is positive).
    */
   {
   /* .opcode               = */ TR::de2pdSetSign,
   /* .name                 = */ "de2pdSetSign",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::SetSignOnNode | ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   /*!
    * \brief convert from 128-bit DFP to packed decimal, cleaning the sign code
    *
    * This op converts from DFP to packed and also cleans the sign code, ensuring
    * that there will never be a negative zero packed value.
    */
   {
   /* .opcode               = */ TR::de2pdClean,
   /* .name                 = */ "de2pdClean",
   /* .properties1          = */ ILProp1::Conversion,
   /* .properties2          = */ ILProp2::ValueNumberShare | ILProp2::SupportedForPRE,
   /* .properties3          = */ 0,
   /* .properties4          = */ ILProp4::BinaryCodedDecimalOp | ILProp4::ConversionHasFraction | ILProp4::CanHaveStorageReferenceHint,
   /* .dataType             = */ TR::PackedDecimal,
   /* .typeProperties       = */ ILTypeProp::PackedDecimal,
   /* .childProperties      = */ ONE_CHILD(TR::DecimalLongDouble),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::BCDCHK,
   /* .name                 = */ "BCDCHK",
   /* .properties1          = */ ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::CanRaiseException | ILProp2::Check | ILProp2::MayUseSystemStack,
   /* .properties3          = */ 0,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::NoType,
   /* .typeProperties       = */ 0,
   /* .childProperties      = */ ILChildProp::Unspecified,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::ircload,
   /* .name                 = */ "ircload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::ReverseLoadOrStore,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int16,
   /* .typeProperties       = */ ILTypeProp::Size_2 | ILTypeProp::Unsigned,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::irsload,
   /* .name                 = */ "irsload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::ReverseLoadOrStore,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int16,
   /* .typeProperties       = */ ILTypeProp::Size_2 | ILTypeProp::Integer,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::iruiload,
   /* .name                 = */ "iruiload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::ReverseLoadOrStore,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::iriload,
   /* .name                 = */ "iriload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::ReverseLoadOrStore,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::irulload,
   /* .name                 = */ "irulload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::ReverseLoadOrStore,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Integer,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::irlload,
   /* .name                 = */ "irlload",
   /* .properties1          = */ ILProp1::LoadVar | ILProp1::Indirect | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeUse | ILProp3::ReverseLoadOrStore,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Integer,
   /* .childProperties      = */ ILChildProp::NoChildren,
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::irsstore,
   /* .name                 = */ "irsstore",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeDef | ILProp3::ReverseLoadOrStore,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int16,
   /* .typeProperties       = */ ILTypeProp::Size_2 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::Int16),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::iristore,
   /* .name                 = */ "iristore",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeDef | ILProp3::ReverseLoadOrStore,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int32,
   /* .typeProperties       = */ ILTypeProp::Size_4 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::Int32),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },

   {
   /* .opcode               = */ TR::irlstore,
   /* .name                 = */ "irlstore",
   /* .properties1          = */ ILProp1::Store | ILProp1::Indirect | ILProp1::TreeTop | ILProp1::HasSymbolRef,
   /* .properties2          = */ ILProp2::ValueNumberShare,
   /* .properties3          = */ ILProp3::LikeDef | ILProp3::ReverseLoadOrStore,
   /* .properties4          = */ 0,
   /* .dataType             = */ TR::Int64,
   /* .typeProperties       = */ ILTypeProp::Size_8 | ILTypeProp::Integer,
   /* .childProperties      = */ ONE_CHILD(TR::Int64),
   /* .swapChildrenOpCode   = */ TR::BadILOp,
   /* .reverseBranchOpCode  = */ TR::BadILOp,
   /* .booleanCompareOpCode = */ TR::BadILOp,
   /* .ifCompareOpCode      = */ TR::BadILOp,
   },


#endif
